import type { AuditFields } from "../audit-fields";
import type { MenuInfo } from "./menu";
import type { RegisterInfo } from "./register";

interface SysRole extends AuditFields {
  code: string;
  name?: string;
  description?: string;
}

interface RoleInfo extends SysRole {
  menuIds?: Array<number>;
  menus?: Array<MenuInfo>;
  registerIds?: Array<number>;
  registers?: Array<RegisterInfo>;
  dimensionIds?: Array<number>;
  dimensions?: Array<Record<string, string>>;
}

export type { SysRole, RoleInfo };
